﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace QuanLiGiaiBongDa
{
    public partial class frmQlThiDau : Form
    {
        public frmQlThiDau()
        {
            InitializeComponent();
        }
        QuanLyThiDau_BLL ql = new QuanLyThiDau_BLL();
        private void frmQlThiDau_Load(object sender, EventArgs e)
        {
            LoadTranDau();
            LoadComboboxMaDB1_ComboboxMaDB2();
            LoadComboboxMaSan();
        }

        // /////////////////////////
        //tab xep lich thi dau
        public void LoadComboboxMaSan()
        {
            ql.MaSan(cbmasan);
        }
        //lấy mã đội bóng từ bảng đội bóng đưa vào combobox madb1 và madb2
        public void LoadComboboxMaDB1_ComboboxMaDB2()
        {
            ql.MaDB_ThiDau(cbdoibong1);
            ql.MaDB_ThiDau(cbdoibong2);
        }
        private TranDau GetValue_TranDau()
        {
            TranDau a = new TranDau();
            a.Matrd = txtmatran.Text.ToUpper();
            a.Ngaygio = dateTimePngaythidau.Value.Date;
            a.GioThiDau = cbgio.Text;
            a.Vong = int.Parse(cbvong.Text);

            dataGridView_MDB1.DataSource = ql.TimMaDBTheoTen(cbdoibong1.Text);
            dataGridView_MDB2.DataSource = ql.TimMaDBTheoTen(cbdoibong2.Text);
            dataGridView_MaSan.DataSource = ql.TimMaSanTheoTen(cbmasan.Text);

            if (dataGridView_MDB1[0, 0].Value != null)
                a.Madb1 = dataGridView_MDB1[0, 0].Value.ToString();
            if (dataGridView_MDB2[0, 0].Value != null)
                a.Madb2 = dataGridView_MDB2[0, 0].Value.ToString();
            if (dataGridView_MaSan[0, 0].Value != null)
                a.Masan = dataGridView_MaSan[0, 0].Value.ToString();
            return a;
        }
        public void LoadTranDau()
        {
            dataGridViewQlthidau.DataSource = ql.Load(SQLProvider.GetAll("Trandau"));
            //dataGridViewQlthidau.DataSource = ql.LoadLichThiDau("LoadLichThiDau");
        }
        private void btthemlichthidau_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(cbdoibong1.Text, cbdoibong2.Text, cbmasan.Text, txtmatran.Text, cbvong.Text, cbgio.Text))
            {
                MessageBox.Show("Bạn chưa điền đầy đủ thông tin.");
            }
            else if (ql.Insert_TranDau(GetValue_TranDau()))
            {
                MessageBox.Show("Thêm thành công");
                this.LoadTranDau();
            }
            else
            {
                MessageBox.Show("Bạn nhập mã trận đấu bị trùng");
            }
        }

        private void btxoalichthidau_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(txtmatran.Text))
            {
                MessageBox.Show("Bạn chưa chọn thông tin để xoá");
            }
            else if (ql.Delete_TranDau(GetValue_TranDau()))
            {
                MessageBox.Show("Xoá thành công");
                this.LoadTranDau();
            }
            else
            {
                MessageBox.Show("Xoá thất bại");
            }
        }

        private void btcapnhaplichthidau_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(txtmatran.Text))
            {
                MessageBox.Show("Bạn chưa chọn thông tin để cập nhật");
            }
            else if (ql.Update_TranDau(GetValue_TranDau()))
            {
                MessageBox.Show("Cập nhật thành công");
                this.LoadTranDau();
            }
            else
            {
                MessageBox.Show("Cập nhật thất bại");
            }
        }

        private void btRefreshlichthidau_Click(object sender, EventArgs e)
        {
            txtmatran.Text = "";
            cbdoibong1.Text = "";
            cbdoibong2.Text = "";
            cbmasan.Text = "";
            txtmatran.Enabled = true;
            dateTimePngaythidau.Value = DateTime.Now;
            cbgio.Text = "Giờ";
            
            cbvong.Text = "";
            this.LoadTranDau();
        }

        private void frmQlThiDau_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult d = MessageBox.Show("Bạn muốn đóng Quản lý kết quả?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (d == DialogResult.No)
                e.Cancel = true;
        }

        private void dataGridViewQlthidau_Click(object sender, EventArgs e)
        {
            if (dataGridViewQlthidau.SelectedRows.Count > 0)
            {
                DataGridViewRow row = dataGridViewQlthidau.SelectedRows[0];
                int vitrirow = dataGridViewQlthidau.Rows.IndexOf(row);
                txtmatran.Text = dataGridViewQlthidau[0, vitrirow].Value.ToString();
                txtmatran.Enabled = false;
                cbdoibong1.Text = dataGridViewQlthidau[1, vitrirow].Value.ToString();
                cbdoibong2.Text = dataGridViewQlthidau[2, vitrirow].Value.ToString();
                cbmasan.Text = dataGridViewQlthidau[3, vitrirow].Value.ToString();
                if (dataGridViewQlthidau[4, vitrirow].Value == "")
                {
                    dateTimePngaythidau.Value = DateTime.Now;
                }
                else
                    dateTimePngaythidau.Value = DateTime.Parse(dataGridViewQlthidau[4, vitrirow].Value.ToString());
                //string s = dataGridViewQlthidau[5, vitrirow].Value.ToString();
                //string[] t = s.Split(':');
                cbgio.Text = dataGridViewQlthidau[5, vitrirow].Value.ToString();
                

                cbvong.Text = dataGridViewQlthidau[6, vitrirow].Value.ToString();
            }
        }
        private void cbmasan_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.KeyChar = '\0';
        }


        //// ////////////////////
        // tab ds Ra San
        private RaSan GetValueRaSan()
        {
            RaSan a = new RaSan();
            a.Mars = txtmarasan.Text.ToUpper();
            a.Matrd = cbMatrandau.Text;
            a.Mavt = cbvitri.Text;

            dataGridViewQldanhsachrasan2.DataSource = ql.TimMaCTTheoTen(cbcauthu.Text);
            if (dataGridViewQldanhsachrasan2[0, 0].Value != null)
                a.Mact = dataGridViewQldanhsachrasan2[0, 0].Value.ToString();
            return a;
        }
        private void Load_RaSan()
        {
            
            dataGridViewQldanhsachrasan.DataSource = ql.Load(SQLProvider.GetAll("rasan"));
            //dataGridViewQldanhsachrasan.DataSource = ql.LoadRaSan("LoadRaSan");

        }

        private void dataGridViewQldanhsachrasan_Click(object sender, EventArgs e)
        {
            if (dataGridViewQldanhsachrasan.SelectedRows.Count > 0)
            {
                DataGridViewRow row = dataGridViewQldanhsachrasan.SelectedRows[0];
                int vitri_row = dataGridViewQldanhsachrasan.Rows.IndexOf(row);
                txtmarasan.Text = dataGridViewQldanhsachrasan[0, vitri_row].Value.ToString();
                txtmarasan.Enabled = false;
                cbcauthu.Text = dataGridViewQldanhsachrasan[2, vitri_row].Value.ToString();
                cbMatrandau.Text = dataGridViewQldanhsachrasan[1, vitri_row].Value.ToString();
                cbvitri.Text = dataGridViewQldanhsachrasan[3, vitri_row].Value.ToString();
            }
        }
        private void btthem_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(txtmarasan.Text))
            {
                MessageBox.Show("Bạn chưa điền đầy đủ thông tin.");
            }
            else if (ql.Insert_RaSan(GetValueRaSan()))
            {
                MessageBox.Show("Thêm thành công");
                this.Load_RaSan();
            }
            else
            {
                MessageBox.Show("Bạn nhập mã trận đấu bị trùng");
            }
        }

        private void btxoa_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(txtmarasan.Text))
            {
                MessageBox.Show("Bạn chưa chọn thông tin để xoá");
            }
            else if (ql.Delete_RaSan(GetValueRaSan()))
            {

                MessageBox.Show("Xoá thành công");
                this.Load_RaSan();
            }
            else
            {
                MessageBox.Show("Xoá thất bại");
            }
        }

        private void btcapnhap_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(txtmarasan.Text))
            {
                MessageBox.Show("Bạn chưa chọn thông tin để cập nhật");
            }
            else if (ql.Update_RaSan(GetValueRaSan()))
            {
                MessageBox.Show("Cập nhật thành công");
                this.Load_RaSan();
            }
            else
            {
                MessageBox.Show("Cập nhật thất bại");
            }
        }

        private void btRefresh_Click(object sender, EventArgs e)
        {
            txtmarasan.Text = "";
            cbcauthu.Text = "";
            cbMatrandau.Text = "";
            cbvitri.Text = "";
            txtmarasan.Enabled = true;
            this.Load_RaSan();
        }

        private void tabControl1_Selected(object sender, TabControlEventArgs e)
        {
            if (e.TabPageIndex == 1)
            {
                Load_RaSan();
            }
        }

        private void cbMatrandau_Click(object sender, EventArgs e)
        {
            cbMatrandau.Items.Clear();
            ql.MaTrD(cbMatrandau);
        }

        private void cbcauthu_Click(object sender, EventArgs e)
        {
            cbcauthu.Items.Clear();
            ql.MaCT_RaSan(cbcauthu, cbMatrandau);
        }

        
    }
}
